package org.custom.spring.boot.mybatis.service.plugin.process;

import org.apache.ibatis.plugin.Invocation;

/**
 * 最终的SQL数据与代理对象关系的处理器接口
 *
 * @author 李坤
 * @date 2022/2/11 11:24
 */
public interface MybatisProcessor {
    /**
     * 处理最终的SQL数据与代理对象的关系
     *
     * @param invocation 代理对象
     * @param finalSql   处理后的SQL数据
     *
     * @return 代理对象
     *
     * @throws Throwable 任何异常信息
     */
    default Object apply(Invocation invocation, String finalSql) throws Throwable {
        return invocation.proceed();
    }
}
